Modern integrated development environments (IDEs) provide a number of tools to facilitate the tasks of writing code, detecting problems in the grammar or syntax of the code, and fixing problems. However, when programmers write code, they still often turn to examples of similar code written in the past by themselves or others. Similarly, when programmers encounter an error message during the process writing code (e.g., such as compiler error messages issued by an IDE tool), they often search for instances from the past where similar bugs have been analyzed and resolved. This can involve searching through software bug databases, articles from on-line developer networks, email threads, logs of debugging sessions, crash logs, event traces or other sources, and/or talking to colleagues to find this information. It can even involve searching for solutions online by entering the error message encountered and code fragments into a search engine.